home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / PRONTO.SHK / NEW.DISK / PRONTO UPDATE.bas < prev   
BASIC Source File  |  2000-01-01  |  19KB  |  337 lines

  1. 10  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>-------------------------<CTRL-M>PRONTO-DOS ENHANCEMENTS<CTRL-M><CTRL-M>(C) 1982 TOM WEISHAAR<CTRL-M><CTRL-M><CTRL-M>PUBLISHED BY:<CTRL-M>   BEAGLE BROS<CTRL-M>   4315 SIERRA VISTA<CTRL-M>   SAN DIEGO, CA 92103<CTRL-M>-------------------------<CTRL-M>
  2. 20  GOTO 50
  3. 25 C = 0: FOR I = 0 TO L -1:C = C + PEEK(A +I): NEXT :YN(N,Q) = 2
  4. 26  IF C = C0  THEN YN(N,Q) = 0: RETURN 
  5. 27  IF C = C1  THEN YN(N,Q) = 1
  6. 28  RETURN 
  7. 30  CALL DING: VTAB 9 +N +(N >3) +(N >5): HTAB 35
  8. 31  IF YN(N,0) = 0  AND YN(N,1) < >2  THEN  PRINT "YES/";: INVERSE : PRINT "NO";: NORMAL : RETURN 
  9. 32  IF YN(N,0) = 1  AND YN(N,1) < >2  THEN  INVERSE : PRINT "YES";: NORMAL : PRINT "/NO";: RETURN 
  10. 33  IF YN(N,0) = 0  AND YN(N,1) = 2  THEN  PRINT "----";: INVERSE : PRINT "NO";: NORMAL : RETURN 
  11. 34  IF YN(N,0) = 1  AND YN(N,1) = 2  THEN  INVERSE : PRINT "YES";: NORMAL : PRINT "---";: RETURN 
  12. 35  PRINT "??????": RETURN 
  13. 50  TEXT :Q$ =  CHR$(34)
  14. 60  IF  PEEK(978) = 157  THEN 100
  15. 70  PRINT "<CTRL-M><CTRL-G>CAN'T EXECUTE ";Q$;"PRONTO-DOS ENHANCEMENTS";Q$;".<CTRL-M>DOS NOT AT NORMAL 48K LOCATION.": END 
  16. 100  IF  PEEK(44184) = 157  OR  PEEK(44184) = 177  THEN 110
  17. 105  PRINT "<CTRL-M><CTRL-G>CAN'T EXECUTE ";Q$;"PRONTO-DOS ENHANCEMENTS";Q$;".<CTRL-M>ACTIVE DOS NOT RECOGNIZED.": END 
  18. 110  DIM YN(11,1): GOSUB 10000: PRINT  CHR$(21)
  19. 115 D$ =  CHR$(4): PRINT D$;"BLOAD PDE.OBJ0": GOTO 200
  20. 120  IF  PEEK(43753) = 201  THEN  RETURN 
  21. 122  GOSUB 900
  22. 123  VTAB 12
  23. 124  VTAB 14: HTAB 8
  24. 125  PRINT "CAN'T EXECUTE ENHANCEMENTS.": PRINT 
  25. 126  HTAB 10: PRINT "PRONTO-DOS NOT ACTIVE."
  26. 127  GOSUB 10015
  27. 130  VTAB 23: HTAB 6: PRINT "PRESS <SPACE BAR> TO CONTINUE ";: GET A$: POP 
  28. 200  GOSUB 900
  29. 205  VTAB 10: HTAB 15: PRINT "BEAGLE BROS"
  30. 206  HTAB 12: PRINT "4315 SIERRA VISTA"
  31. 207  HTAB 11: PRINT "SAN DIEGO, CA 92103"
  32. 210  VTAB 15: GOSUB 910
  33. 211  VTAB 16: PRINT "<1> ENHANCEMENT MENU": PRINT "<2> UPDATE DOS ON EXISTING DISKS"
  34. 212  GOSUB 910
  35. 215 V = 21: GOSUB 915
  36. 220  IF A$ = "1"  THEN 250
  37. 225  IF A$ = "2"  THEN 700
  38. 230  IF A$ =  CHR$(27)  THEN 9990
  39. 240  GOSUB 10015: GOTO 215
  40. 250  GOSUB 120: GOSUB 900
  41. 255  PRINT : GOSUB 910
  42. 260  PRINT 
  43. 261  VTAB 10: PRINT "<1> ";Q$;"TYPE";Q$;" COMMAND ACTIVE........."
  44. 262  VTAB 11: PRINT "<2> <CTRL-C> KILLS CATALOG........"
  45. 263  VTAB 12: PRINT "<3> <ESC> KILLS EXECS & READS....."
  46. 264  VTAB 14: PRINT "<4> AUTOMATIC VERIFY AFTER SAVE..."
  47. 265  VTAB 15: PRINT "<5> FORCE LANGUAGE CARD RELOAD...."
  48. 266  VTAB 17: PRINT "<6> PRINT DISK FREE SPACE........."
  49. 267  VTAB 18: PRINT "<7> PRINT BINARY FILE ADR & LEN..."
  50. 268  VTAB 19: PRINT "<8> INIT SAVES DOS & HELLO FILE..."
  51. 270  VTAB 21: GOSUB 910
  52. 275  GOSUB 1000
  53. 280 V = 23: GOSUB 915
  54. 285  IF A$ =  CHR$(27)  THEN 200
  55. 290  IF  VAL(A$) <1  OR  VAL(A$) >9  THEN  GOSUB 10015: GOTO 280
  56. 295  IF  VAL(A$) = 9  AND YN(8,0) = 1  THEN  GOSUB 10015: GOTO 280
  57. 300  CALL DING: POKE 32,34: POKE 33,6: POKE 34,9: POKE 35,20: VTAB 9: HTAB 38: HOME : TEXT 
  58. 310  ON  VAL(A$) GOSUB 410,420,430,440,450,460,470,480,490
  59. 330  GOTO 275
  60. 410  ON YN(1,0) GOTO 415,499
  61. 411  ON YN(1,1) GOTO 413,499
  62. 413  CALL DING: GOTO 31105
  63. 415  ON YN(1,1) GOTO 417,499
  64. 417  CALL DING: GOTO 31120
  65. 420  ON YN(2,0) GOTO 425,499
  66. 421  ON YN(2,1) GOTO 423,499
  67. 423  CALL DING: GOTO 31132
  68. 425  ON YN(2,1) GOTO 427,499
  69. 427  CALL DING: GOTO 31140
  70. 430  ON YN(3,0) GOTO 435,499
  71. 431  ON YN(3,1) GOTO 433,499
  72. 432  CALL DING: GOTO 31152
  73. 433  CALL DING:L = 48367: GOTO 31158
  74. 435  ON YN(3,1) GOTO 437,499
  75. 437  CALL DING: GOTO 31160
  76. 440  ON YN(4,0) GOTO 445,499
  77. 441  ON YN(4,1) GOTO 443,499
  78. 443  CALL DING: POKE 41991,76: POKE 41992,120: POKE 41993,157: RETURN 
  79. 445  ON YN(4,1) GOTO 447,499
  80. 447  CALL DING: POKE 41991,141: POKE 41992,188: POKE 41993,181: RETURN 
  81. 450  ON YN(5,0) GOTO 455,499
  82. 451  ON YN(5,1) GOTO 453,499
  83. 453  CALL DING: POKE 47732,142: POKE 47733,0: POKE 47734,224: RETURN 
  84. 455  ON YN(5,1) GOTO 457,499
  85. 457  CALL DING: POKE 47732,234: POKE 47733,234: POKE 47734,234: RETURN 
  86. 460  ON YN(6,0) GOTO 465,499
  87. 461  ON YN(6,1) GOTO 463,499
  88. 463  CALL DING: IF YN(10,0) = 0  THEN 31202
  89. 464  GOTO 31203
  90. 465  ON YN(6,1) GOTO 467,499
  91. 467  CALL DING: GOTO 31220
  92. 470  ON YN(7,0) GOTO 475,499
  93. 471  ON YN(7,1) GOTO 473,499
  94. 473  CALL DING: IF YN(10,0) = 0  THEN 31227
  95. 474  GOTO 31228
  96. 475  ON YN(7,1) GOTO 477,499
  97. 477  CALL DING: GOTO 31240
  98. 480  ON YN(8,0) GOTO 485,499
  99. 481  ON YN(8,1) GOTO 483,499
  100. 483  CALL DING: IF YN(11,0) = 0  THEN 31252
  101. 484  GOTO 31253
  102. 485  ON YN(8,1) GOTO 487,499
  103. 487  CALL DING: GOTO 31270
  104. 490  ON YN(9,0) GOTO 495,499
  105. 491  ON YN(9,1) GOTO 493,499
  106. 493  CALL DING: POKE 43273,65: RETURN 
  107. 495  ON YN(9,1) GOTO 497,499
  108. 497  CALL DING: POKE 43273,33: RETURN 
  109. 499  GOSUB 900
  110. 500  VTAB 9
  111. 502  GOSUB 10015
  112. 505  PRINT "BECAUSE OF THE LIMITED INSTRUCTION SPACE   INSIDE DOS, ALL ENHANCEMENTS CANNOT     BE TURNED ON AT THE SAME TIME.": PRINT 
  113. 508  GOSUB 910
  114. 510  VTAB 14: PRINT "IN PARTICULAR, ONLY TWO OF:<CTRL-M>     <6> PRINT DISK FREE SPACE<CTRL-M>     <7> PRINT BINARY FILE ADR & LEN<CTRL-M>     <8> INIT SAVES DOS & HELLO FILE"
  115. 515  HTAB 13
  116. 520  PRINT "CAN BE SET TO ";Q$;"YES";Q$;" AT ONCE.";: GOSUB 910
  117. 530  PRINT "ITEMS MARKED ";Q$;"??????";Q$;" ARE UNCHANGEABLE."
  118. 595  VTAB 24: HTAB 6: PRINT "PRESS <SPACE BAR> TO CONTINUE ";: GET A$: POP 
  119. 599  GOTO 250
  120. 700  POKE 16387,0
  121. 702  GOSUB 900
  122. 705 V = 12
  123. 706  VTAB V
  124. 708  GOSUB 910
  125. 709  VTAB V +1: HTAB 6
  126. 710  PRINT "INSERT DISK TO BE UPDATED AND": HTAB 13: PRINT "PRESS <RETURN>."
  127. 712  GOSUB 910
  128. 715  VTAB V +5
  129. 716  IF  PEEK(16387)  THEN 730
  130. 717  PRINT " TO CHANGE THE NAME OF THE ";Q$;"HELLO";Q$;" FILE"
  131. 719  PRINT "  OR ITS ";Q$;"RUN";Q$;" COMMAND (RUN/BRUN/EXEC)"
  132. 721  HTAB 12
  133. 723  PRINT "PRESS <SPACE BAR>."
  134. 725  GOTO 736
  135. 730  PRINT "AFTER BOOTING THIS DISK WILL:": PRINT 
  136. 732  HTAB 4: PRINT C$;F$
  137. 735  VTAB 22: HTAB 20: PRINT "<SPACE BAR> TO CHANGE"
  138. 736  IF  PEEK(44184) = 157  THEN 740
  139. 737  VTAB 10: HTAB 3
  140. 738  FLASH : PRINT " DISK WILL BE UPDATED TO APPLE DOS ": NORMAL 
  141. 740 V = 23: GOSUB 915
  142. 742  IF A$ =  CHR$(27)  THEN 200
  143. 743  IF A$ =  CHR$(13)  THEN 800
  144. 744  IF A$ < >" "  THEN  GOSUB 10015: GOTO 740
  145. 750  GOSUB 900
  146. 755  VTAB 14
  147. 760  PRINT "ENTER NEW NAME FOR ";Q$;"HELLO";Q$;" FILE:"
  148. 762  VTAB 16: HTAB 5: PRINT "<";: HTAB 36: PRINT ">": GOSUB 10020
  149. 765  VTAB 16: HTAB 6: INPUT "";F$
  150. 767  IF F$ = ""  THEN  GOSUB 10015: GOTO 762
  151. 768  FOR I =  LEN(F$) TO 30:F$ = F$ +" ": NEXT 
  152. 769  IF  LEN(F$) >30  THEN F$ =  LEFT$(F$,30)
  153. 770  GOSUB 900
  154. 772  VTAB 13
  155. 774  PRINT "SHOULD THIS FILE BE?:": PRINT 
  156. 775  PRINT "     <R>UN"
  157. 776  PRINT "     <B>RUN"
  158. 777  PRINT "     <E>XECED"
  159. 779 C$ = ""
  160. 780 V = 23: GOSUB 915
  161. 782  IF A$ =  CHR$(27)  THEN 700
  162. 783  IF A$ = "R"  OR A$ = "r"  THEN C$ = "RUN ": POKE 16387,6
  163. 784  IF A$ = "B"  OR A$ = "b"  THEN C$ = "BRUN ": POKE 16387,52
  164. 785  IF A$ = "E"  OR A$ = "e"  THEN C$ = "EXEC ": POKE 16387,20
  165. 786  IF C$ = ""  THEN  GOSUB 10015: GOTO 780
  166. 787  FOR I = 1 TO 30: POKE 16388 +I, ASC( MID$ (F$,I,1)) +128: NEXT 
  167. 790  GOTO 702
  168. 800  POKE 34,6: HOME 
  169. 802  VTAB 19: HTAB 13
  170. 804  FLASH : PRINT " UPDATING DISK ": NORMAL 
  171. 805  CALL 16384
  172. 807  HOME :F =  PEEK(16388): ON F GOTO 810,820,830,840
  173. 808  GOTO 890
  174. 810  VTAB 14: HTAB 6
  175. 811  GOSUB 10015
  176. 812  PRINT "THIS DISK IS WRITE-PROTECTED."
  177. 814  VTAB 16: HTAB 2
  178. 816  PRINT "PLEASE REMOVE TAB AND PRESS <RETURN>."
  179. 818  GOTO 860
  180. 820  VTAB 14: HTAB 16
  181. 821  GOSUB 10015
  182. 822  PRINT "I/O ERROR"
  183. 823  VTAB 15: HTAB 9
  184. 824  PRINT "REMOVE AND REINSERT DISK"
  185. 825  VTAB 16: HTAB 12
  186. 826  PRINT "AND PRESS <RETURN>."
  187. 828  GOTO 860
  188. 830  VTAB 13: HTAB 3
  189. 831  GOSUB 10015
  190. 832  PRINT "THIS DISK WAS ORIGINALLY INITIALIZED"
  191. 833  VTAB 15: HTAB 16
  192. 834  PRINT "WITHOUT DOS."
  193. 835  VTAB 17: HTAB 11
  194. 836  PRINT "IT CANNOT BE UPDATED."
  195. 838  GOTO 880
  196. 840  VTAB 13: HTAB 3
  197. 841  GOSUB 10015
  198. 842  PRINT "THIS DISK WAS ORIGINALLY INITIALIZED"
  199. 843  VTAB 15: HTAB 13
  200. 844  PRINT "WITH PRONTO-DOS."
  201. 845  VTAB 17: HTAB 3
  202. 846  PRINT "IT CANNOT BE UPDATED TO STANDARD DOS."
  203. 848  GOTO 880
  204. 860  GOSUB 915: IF A$ =  CHR$(27)  THEN 890
  205. 865  IF A$ =  CHR$(13)  THEN 805
  206. 870  GOSUB 10015: GOTO 860
  207. 880  VTAB 23: HTAB 7
  208. 882  PRINT "TO CONTINUE PRESS <RETURN>. ";
  209. 884  GET A$
  210. 890  TEXT : GOTO 700
  211. 900  HOME : VTAB 2: INVERSE 
  212. 901  HTAB 11: PRINT ":                 :"
  213. 902  HTAB 11: PRINT "   PRONTO UPDATE   "
  214. 903  HTAB 11: PRINT ":                 :"
  215. 904  NORMAL : PRINT 
  216. 905  HTAB 10: PRINT "(C) 1983 TOM WEISHAAR": RETURN 
  217. 910  PRINT "----------------------------------------": RETURN 
  218. 915  VTAB V: HTAB 1: PRINT "SELECT: < >                <ESC> TO EXIT";: GOSUB 10020: VTAB V: HTAB 10: GET A$: VTAB V: HTAB 1: PRINT "                                        ";: RETURN 
  219. 1000  REM CHECK AND FILL IN Y/N
  220. 1010 N = 1:Q = 0:A = 40276:L = 2:C0 = 286:C1 = 410: GOSUB 25
  221. 1012 Q = 1:A = 48351:L = 31:C0 = 0:C1 = 4478: GOSUB 25
  222. 1014  GOSUB 30
  223. 1020 N = 2:Q = 0:A = 44602:L = 2:C0 = 265:C1 = 321: GOSUB 25
  224. 1022 Q = 1:A = 47751:L = 11:C0 = 0:C1 = 1318: GOSUB 25
  225. 1024  GOSUB 30
  226. 1030 N = 3:Q = 0:A = 42545:L = 2:C0 = 306:C1 = 427: GOSUB 25
  227. 1032 Q = 1:A = 48351:L = 31:C0 = 0:C1 = 4478: GOSUB 25
  228. 1034  GOSUB 30
  229. 1040 N = 4:Q = 0:A = 41991:L = 3:C0 = 510:C1 = 353: GOSUB 25
  230. 1042 YN(N,1) = 1
  231. 1044  GOSUB 30
  232. 1050 N = 5:Q = 0:A = 47732:L = 3:C0 = 702:C1 = 366: GOSUB 25
  233. 1052 YN(N,1) = 1
  234. 1054  GOSUB 30
  235. 1056 N = 10:Q = 0:A = 46771:L = 47:C0 = 0:C1 = 0: GOSUB 25: IF C = 7638  OR C = 6274  OR C = 7227  THEN YN(10,0) = 0
  236. 1058 N = 11:Q = 0:A = 46922:L = 47:C0 = 0:C1 = 0: GOSUB 25: IF C = 7638  OR C = 6170  OR C = 7019  THEN YN(11,0) = 0
  237. 1060 N = 6:Q = 0:A = 44481:L = 2:C0 = 240:C1 = 361: GOSUB 25: IF YN(N,Q) = 1  THEN YN(10,0) = 1
  238. 1061  IF C = 257  THEN YN(N,Q) = 1:YN(11,0) = 1
  239. 1062 N = 7:Q = 0:A = 41868:L = 2:C0 = 277:C1 = 361: GOSUB 25: IF YN(N,Q) = 1  THEN YN(10,0) = 1
  240. 1063  IF C = 257  THEN YN(N,Q) = 1:YN(11,0) = 1
  241. 1064 N = 8:Q = 0:A = 42344:L = 1:C0 = 76:C1 = 32: GOSUB 25
  242. 1065  IF YN(8,0) = 0  THEN 1070
  243. 1066 N = 10:Q = 1:A = 44803:L = 2:C0 = 0:C1 = 0: GOSUB 25
  244. 1067  IF C = 361  THEN YN(10,0) = 1
  245. 1068  IF C = 257  THEN YN(11,0) = 1
  246. 1070  IF YN(10,0) = 0  OR YN(11,0) = 0  THEN 1080
  247. 1075  FOR I = 6 TO 8: IF YN(I,0) = 0  THEN YN(I,1) = 2
  248. 1076  NEXT : GOTO 1090
  249. 1080  FOR I = 6 TO 8:YN(I,1) = 0: NEXT 
  250. 1090  FOR N = 6 TO 8: GOSUB 30: NEXT 
  251. 1092  VTAB 20: HTAB 1
  252. 1094  IF YN(8,0) < >0  THEN  PRINT "                                        ": RETURN 
  253. 1095  PRINT "<9> MODIFY INIT SYNTAX............";
  254. 1096 YN(9,0) = 2
  255. 1097  IF  PEEK(43273) = 33  THEN YN(9,0) = 0
  256. 1098  IF  PEEK(43273) = 65  THEN YN(9,0) = 1
  257. 1099 N = 9: GOSUB 30: RETURN 
  258. 9990  GOSUB 10015: FOR I = 1 TO 3: HOME : NEXT : GOSUB 10015: END 
  259. 10000 DING = 947: FOR I = DING TO 975: READ J: POKE I,J: NEXT : RETURN 
  260. 10010  DATA     32,74,255,160,20,152,32,200,3,73,138,32,200,3,136,208,244,32,63,255,96,170,202,208,253,44,48,192,96
  261. 10015  POKE 951,150: POKE 957,234: CALL DING: POKE 951,20: POKE 957,138: RETURN 
  262. 10020  FOR K = 1 TO 5:ZZ =  PEEK( -16336) + PEEK( -16336): NEXT : FOR K = 1 TO 50: NEXT 
  263. 10021  FOR K = 1 TO 5:ZZ =  PEEK( -16336) + PEEK( -16336): NEXT : RETURN 
  264. 31100  REM <CTRL-M><CTRL-M>"TYPE" COMMAND<CTRL-M><CTRL-M>     ACTIVATE=LINE 31105<CTRL-M>   INACTIVATE=LINE 31120<CTRL-M><CTRL-M>   NORMAL LOCATION=48351 ($BCDF)<CTRL-M>
  265. 31105 L = 48351:C$ = "TYPE":T = 116
  266. 31106  POKE L +0,32: POKE L +1,198: POKE L +2,165: POKE L +3,169: POKE L +4,141: POKE L +5,32: POKE L +6,237: CALL DING
  267. 31107  POKE L +7,253: POKE L +8,32: POKE L +9,239: POKE L +10,188: POKE L +11,208: POKE L +12,248: POKE L +13,76: POKE L +14,234: CALL DING
  268. 31108  POKE L +15,162: POKE L +16,173: POKE L +17,0: POKE L +18,192: POKE L +19,201: POKE L +20,155: POKE L +21,240: POKE L +22,3: CALL DING
  269. 31109  POKE L +23,76: POKE L +24,140: POKE L +25,166: POKE L +26,141: POKE L +27,16: POKE L +28,192: POKE L +29,169: POKE L +30,0: CALL DING
  270. 31110  POKE L +31,96:
  271. 31112 X = 0:I1 = 0
  272. 31113  FOR I = 43140 TO 43271
  273. 31114  IF  PEEK(I) >128  THEN X = X +1: CALL DING
  274. 31115  IF X = 27  THEN I1 = I:I = 43271
  275. 31116  NEXT : CALL DING
  276. 31117  IF I1 = 0  OR I1 + LEN(A$) >43271  THEN  HOME : VTAB 11: PRINT "CAN'T ACTIVATE ";C$;".": PRINT "NO ROOM IN COMMAND TABLE.": GOSUB 10015: VTAB 23: HTAB 6: PRINT "PRESS <SPACE BAR> TO CONTINUE ";: GET A$: POP : GOTO 250
  277. 31118  FOR I = 1 TO  LEN(C$) -1: POKE I1 +I, ASC( MID$ (C$,I,1)): CALL DING: NEXT : POKE I1 + LEN(C$),128 + ASC( RIGHT$(C$,1)): POKE I1 + LEN(C$) +1,0
  278. 31119  POKE 40277,(L -1)/256: POKE 40276,(L -1) -( PEEK(40277) *256): POKE 43328,T: RETURN 
  279. 31120 L = 41597:C$ = "VERIFY":T = 112
  280. 31121  GOTO 31112
  281. 31130  REM <CTRL-M><CTRL-M>CONTROL-C KILLS CATALOG<CTRL-M><CTRL-M>     ACTIVATE=LINE 31132<CTRL-M>   INACTIVATE=LINE 31140<CTRL-M><CTRL-M>   NORMAL LOCATION=47751 ($BA87)<CTRL-M>
  282. 31132 L = 47751
  283. 31135  POKE L +0,32: POKE L +1,12: POKE L +2,253: POKE L +3,201: POKE L +4,131: POKE L +5,208: POKE L +6,3: CALL DING
  284. 31136  POKE L +7,76: POKE L +8,127: POKE L +9,179: POKE L +10,96: CALL DING
  285. 31137  POKE 44603,L/256: POKE 44602,L -( PEEK(44603) *256): RETURN 
  286. 31140 L = 64780: CALL DING: GOTO 31137
  287. 31150  REM <CTRL-M><CTRL-M>CONTROL-C KILLS EXEC & READ<CTRL-M><CTRL-M>     ACTIVATE=LINE 31152<CTRL-M>   INACTIVATE=LINE 31160<CTRL-M><CTRL-M>   NORMAL LOCATION=48367 ($BCEF)<CTRL-M>
  288. 31152 L = 48367:L1 = 48351
  289. 31154  POKE L1 +0,32: POKE L1 +1,198: POKE L1 +2,165: POKE L1 +3,169: POKE L1 +4,141: POKE L1 +5,32: POKE L1 +6,237: CALL DING
  290. 31155  POKE L1 +7,253: POKE L1 +8,32: POKE L1 +9,239: POKE L1 +10,188: POKE L1 +11,208: POKE L1 +12,248: POKE L1 +13,76: POKE L1 +14,234: CALL DING
  291. 31156  POKE L1 +15,162: POKE L1 +16,173: POKE L1 +17,0: POKE L1 +18,192: POKE L1 +19,201: POKE L1 +20,155: POKE L1 +21,240: POKE L1 +22,3: CALL DING
  292. 31157  POKE L1 +23,76: POKE L1 +24,140: POKE L1 +25,166: POKE L1 +26,141: POKE L1 +27,16: POKE L1 +28,192: POKE L1 +29,169: POKE L1 +30,0: CALL DING
  293. 31158  POKE 42546,L/256: POKE 42545,L -( PEEK(42546) *256): RETURN 
  294. 31160 L = 42636: GOTO 31158
  295. 31200  REM <CTRL-M><CTRL-M>PRINT DISK FREE SPACE<CTRL-M><CTRL-M>     ACTIVATE=LINE 31202<CTRL-M>   INACTIVATE=LINE 31220<CTRL-M><CTRL-M>   NORMAL LOCATION=46771 ($B6B3)<CTRL-M>ALTERNATE LOCATION=46922 ($B74A)<CTRL-M>
  296. 31202 L = 46771: GOTO 31205
  297. 31203 L = 46922
  298. 31205  POKE L +0,32: POKE L +1,66: POKE L +2,174: POKE L +3,32: POKE L +4,72: POKE L +5,249: POKE L +6,169: CALL DING
  299. 31206  POKE L +7,0: POKE L +8,133: POKE L +9,64: POKE L +10,133: POKE L +11,65: POKE L +12,172: POKE L +13,239: POKE L +14,179: CALL DING
  300. 31207  POKE L +15,136: POKE L +16,152: POKE L +17,10: POKE L +18,10: POKE L +19,168: POKE L +20,162: POKE L +21,8: POKE L +22,185: CALL DING
  301. 31208  POKE L +23,246: POKE L +24,179: POKE L +25,10: POKE L +26,144: POKE L +27,6: POKE L +28,230: POKE L +29,64: POKE L +30,208: CALL DING
  302. 31209  POKE L +31,2: POKE L +32,230: POKE L +33,65: POKE L +34,202: POKE L +35,208: POKE L +36,244: POKE L +37,136: POKE L +38,208: CALL DING
  303. 31210  POKE L +39,236: POKE L +40,160: POKE L +41,2: POKE L +42,185: POKE L +44,(L +69)/256: POKE L +43,(L +69) -( PEEK(L +44) *256): POKE L +45,32: POKE L +46,237: CALL DING
  304. 31211  POKE L +47,253: POKE L +48,136: POKE L +49,16: POKE L +50,247: POKE L +51,173: POKE L +52,0: POKE L +53,224: POKE L +54,168: CALL DING
  305. 31212  POKE L +55,166: POKE L +56,64: POKE L +57,165: POKE L +58,65: POKE L +59,192: POKE L +60,32: POKE L +61,208: POKE L +62,3: CALL DING
  306. 31213  POKE L +63,76: POKE L +64,27: POKE L +65,229: POKE L +66,76: POKE L +67,36: POKE L +68,237: POKE L +69,189: POKE L +70,211: CALL DING
  307. 31214  POKE L +71,198
  308. 31215  POKE 44482,L/256: POKE 44481,L -( PEEK(44482) *256): RETURN 
  309. 31220 L = 44610: GOTO 31215
  310. 31225  REM <CTRL-M><CTRL-M>PRINT BINARY FILE ADR & LEN<CTRL-M><CTRL-M>     ACTIVATE=LINE 31227<CTRL-M>   INACTIVATE=LINE 31240<CTRL-M><CTRL-M>   NORMAL LOCATION=46771 ($B6B3)<CTRL-M>ALTERNATE LOCATION=46922 ($B74A)<CTRL-M>
  311. 31227 L = 46771: GOTO 31230
  312. 31228 L = 46922
  313. 31230  POKE L +0,32: POKE L +1,142: POKE L +2,253: POKE L +3,169: POKE L +4,193: POKE L +5,32: POKE L +7,(L +31)/256: CALL DING
  314. 31231  POKE L +6,(L +31) -( PEEK(L +7) *256): POKE L +8,32: POKE L +9,72: POKE L +10,249: POKE L +11,169: POKE L +12,204: POKE L +13,174: POKE L +14,96: CALL DING
  315. 31232  POKE L +15,170: POKE L +16,172: POKE L +17,97: POKE L +18,170: POKE L +19,32: POKE L +21,(L +31)/256: POKE L +20,(L +31) -( PEEK(L +21) *256): POKE L +22,174: CALL DING
  316. 31233  POKE L +23,114: POKE L +24,170: POKE L +25,172: POKE L +26,115: POKE L +27,170: POKE L +28,76: POKE L +29,113: POKE L +30,164: CALL DING
  317. 31234  POKE L +31,32: POKE L +32,237: POKE L +33,253: POKE L +34,169: POKE L +35,164: POKE L +36,32: POKE L +37,237: POKE L +38,253: CALL DING
  318. 31235  POKE L +39,152: POKE L +40,32: POKE L +41,218: POKE L +42,253: POKE L +43,138: POKE L +44,76: POKE L +45,218: POKE L +46,253: CALL DING
  319. 31236  POKE 41869,L/256: POKE 41868,L -( PEEK(41869) *256): RETURN 
  320. 31240 L = 42097: GOTO 31236
  321. 31250  REM <CTRL-M><CTRL-M>INIT SAVES DOS & HELLO FILE<CTRL-M><CTRL-M>     ACTIVATE=LINE 31252<CTRL-M>   INACTIVATE=LINE 31270<CTRL-M><CTRL-M>   NORMAL LOCATION=46922 ($B74A)<CTRL-M>ALTERNATE LOCATION=46771 ($B6B3)<CTRL-M>
  322. 31252 L = 46922: GOTO 31255
  323. 31253 L = 46771
  324. 31255  POKE L +0,173: POKE L +1,231: POKE L +2,183: POKE L +3,56: POKE L +4,237: POKE L +5,241: POKE L +6,183: CALL DING
  325. 31256  POKE L +7,141: POKE L +8,225: POKE L +9,183: POKE L +10,173: POKE L +11,231: POKE L +12,183: POKE L +13,141: POKE L +14,241: CALL DING
  326. 31257  POKE L +15,183: POKE L +16,206: POKE L +17,241: POKE L +18,183: POKE L +19,169: POKE L +20,2: POKE L +21,141: POKE L +22,236: CALL DING
  327. 31258  POKE L +23,183: POKE L +24,169: POKE L +25,0: POKE L +26,141: POKE L +27,237: POKE L +28,183: POKE L +29,169: POKE L +30,2: CALL DING
  328. 31259  POKE L +31,141: POKE L +32,244: POKE L +33,183: POKE L +34,32: POKE L +35,147: POKE L +36,183: POKE L +37,169: POKE L +38,182: CALL DING
  329. 31260  POKE L +39,234: POKE L +40,141: POKE L +41,254: POKE L +42,182: POKE L +43,24: POKE L +44,105: POKE L +45,9: POKE L +46,141: CALL DING
  330. 31261  POKE L +47,241: POKE L +48,183: POKE L +49,169: POKE L +50,10: POKE L +51,141: POKE L +52,225: POKE L +53,183: POKE L +54,56: CALL DING
  331. 31262  POKE L +55,233: POKE L +56,1: POKE L +57,141: POKE L +58,255: POKE L +59,182: POKE L +60,141: POKE L +61,237: POKE L +62,183: CALL DING
  332. 31263  POKE L +63,32: POKE L +64,147: POKE L +65,183: POKE L +66,96: POKE L +67,0: POKE L +68,0: POKE L +69,0: POKE L +70,0: CALL DING
  333. 31264  POKE L +71,0: POKE L +72,0: CALL DING
  334. 31265  POKE 42344,32: POKE 44723,12: POKE 44749,216: POKE 44750,191: POKE 44793,5: POKE 43273,33
  335. 31267  POKE 44804,L/256: POKE 44803,L -( PEEK(44804) *256): RETURN 
  336. 31270  POKE 42344,76: POKE 44723,4: POKE 44749,251: POKE 44750,175: POKE 44793,11: RETURN 
  337. 65535  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>-------------------------<CTRL-M>PRONTO-DOS ENHANCEMENTS<CTRL-M><CTRL-M>(C) 1982 TOM WEISHAAR<CTRL-M><CTRL-M><CTRL-M>PUBLISHED BY:<CTRL-M>   BEAGLE BROS<CTRL-M>   4315 SIERRA VISTA<CTRL-M>   SAN DIEGO, CA 92103<CTRL-M>-------------------------<CTRL-M>